package com.tesisutn.restsoft.persistencia.implementaciones.dominio;

import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

import org.springframework.stereotype.Repository;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.tesisutn.restsoft.dominio.pedido.PedidoParaDelivery;
import com.tesisutn.restsoft.dominio.pedido.estadosPedidoDelivery.EstadoPedidoDelivery;
import com.tesisutn.restsoft.persistencia.implementaciones.base.PersistenciaJPA;
import com.tesisutn.restsoft.persistencia.interfaces.dominio.PersistenciaPedidoParaDelivery;

@Repository
public class PersistenciaPedidoParaDeliveryImp extends PersistenciaJPA<PedidoParaDelivery> implements PersistenciaPedidoParaDelivery{
	
	public PersistenciaPedidoParaDeliveryImp() {
		super(PedidoParaDelivery.class);
	}

	@Override
	@Transactional(readOnly = true)
	public List<PedidoParaDelivery> getPedidosEnEstado(
			EstadoPedidoDelivery estado) {
		Query query = entityManager.createQuery("select p from PedidoParaDelivery p where p.estado = :estado");
		query.setParameter("estado", estado);
		return query.getResultList();
	}
}